import openpyxl

# 加载工作簿
workbook = openpyxl.load_workbook(r'D:\Windows\潮南区陈店镇各村居道路、街巷标准地名审定表汇总.xlsx')  # 依据哪一个Excel
excelFileName = "ssss"  # 新生成的Excel名称
excelDirectionLine = 'H'  # 方向列
excelContentLine = 'I'  # 起始位置描述列
chinese_to_arabic = {'H': 8, 'I': 9}  # 列名转换为数字列号

# 获取工作表
sheet = workbook['Sheet1']

# 读取I列数据
i_column_data = []

# 遍历 I 列，判断是否存在“南起、北起、南止、北止”或“东起、西起、东止、西止”
for index, cell in enumerate(sheet[f'{excelContentLine}']):
    i_column_data.append((index + 1, cell.value))  # 存储行号和单元格内容

# 打印读取到的 I 列数据用于调试
print("读取到的 I 列数据:")
for index, value in i_column_data:
    print(f"行 {index}: {value}")

# 遍历 I 列数据，并在 H 列中填入相应的方向
for index, value in i_column_data[1:]:  # 跳过表头
    if value is None:
        continue
    # 确保去掉左右的空格再进行匹配
    value = value.strip()
    # 检查是否包含“南起”或“南止”，以及“北起”或“北止”
    if ('南起' in value or '南止' in value) and ('北起' in value or '北止' in value):
        sheet.cell(row=int(index), column=chinese_to_arabic[excelDirectionLine], value='南北')
    # 检查是否包含“东起”或“东止”，以及“西起”或“西止”
    elif ('东起' in value or '东止' in value) and ('西起' in value or '西止' in value):
        sheet.cell(row=int(index), column=chinese_to_arabic[excelDirectionLine], value='东西')

# 保存修改后的 Excel 文件
workbook.save(rf'D:\Windows\{excelFileName}.xlsx')
